区块链的现状及发展之路
基于目前业界的共识,区块链发展的里程碑实践有两个,一个是比特币,被称为第一代区块链,它实现了公共(去中心化)的货币发行体制和交易机制;另一个是以太坊,被成为第二代区块链,其关键突破在于实现了智能合约,也就是说实现了去中心化的计算和验证。随之而来的一些小的发展和突破,也出现了不同的链的形态和发展,比如 Hyperledger Fabric,以及国内的Quorum等。
区块链的发展带来了很大突破,但同时,其发展也受技术本身的制约,当前的区块链应用发展的制约因素与传统应用对比,可以考虑为以下三个方面:
网络处理能力,按照TPS(每秒交易数)来衡量
存储能力,按照整个链所能够容纳的数据来衡量
运算能力,按照单位实践内网络处理的基础指令数来衡量
本文主要探讨的是现阶段正在进行的一些针对TPS提升的一些考虑和方案。对于存储能力的提升,这是Filecoin直面的挑战,以实现与数据相关的应用的去中心化。对于运算能力的提升,必然采用安全多方计算,实现计算的完全分布式。对于这两个部分,将单独另外分析。
能不能快一点?
比特币每一秒难以处理7笔以上的交易,也就是TPS<=7。一方面受制于其平均10分钟的区块时间,另一方面受制于其区块大小的设定。一直以来,这是区块链从业者的一块心病。所以一直以来,解决方案就是两个:
1)缩短区块时间;2)提高区块大小。
对于比特币而言,这些方案都有人采取,并创造出新的链。简单而言,莱特币采用2.5分钟的区块时间,而BCH和BSV则采用了更大的区块来解决拥塞的问题。但是,这种解决办法所带来的问题就在于,对网络和参与者的要求提高了。也就是说矿工进入的门槛提高了,那么对去中心化而言自然就会带来负面影响。
当然,为了解决这个问题,有些人走得更远,一种方法就是:更改约束条件。简单地说,进一步提升参与门槛,走向半中心化。换句话说,我们是不是可以不那么严格地实现去中心化,往里面加一点许可权的催化剂,来提升反应的速度。联盟链多数就是如此,HyberLedger Fabric是一个需要许可权的区块链框架;EOS包含21个超级节点,虽然是公链,虽然有选举,但基本上也是被超级节点把持。许可系统对每一个参与者要求更高,无论是每个区块的交易数量还是区块时间都可以大幅度提升,而且走得更远的是,并不严格要求所有交易都需要所有参与者进行验证。这是因为这种妥协,包含许可权的系统可以达到数以万计的TPS,甚至更高,远远超出主要的完全去信任的网络,比如比特币或以太坊。
Facebook所宣布的Libra也是基于许可权的区块链,从而在现有技术下,才可能实现用于日常交易的系统。
但是,这种妥协虽然带来了TPS的大幅提升,但并没有带来网络价值的提升。因为区块链的特性和要达到的目标 - 去信任,才使得区块链更有价值。所以大家可以看到的是,BTC TPS相对而言较低,但其价值认可度却最高。也就是说,区块链网络的去信任越彻底,网络自身的价值信任度就越高。
那么,问题回来了,我们需要在不牺牲网络的信任度的情况下,提升区块链网络处理能力呢?这要从区块链的几个层次说起(见下图)。可以简单这么理解:Layer 0 是通信层,Layer 1 的是多层结构,其核心是共识层(如下图所示),而链下扩容(搭建在 Layer 1 上的链层)方案可以称为 Layer 2。
Layer0 提速 - CDN
相对于Layer1,Layer2而言,Layer 0 的改进与链本身的技术关联度较低,技术上比较容易实现,但因为涉及到基础设施建设,改变起来却也不容易。
首先,我们知道,区块链的底层是一个点对点网络,其每一个节点会链接多个节点,通过Gossip协议,广播区块和消息(交易)。因为一个节点不可能链接所有的节点,因此,一个区块或者消息的同步往往需要多次传递才能实现。但是,因为每一个阶段都在互联网的终端上,那么由于所有的中继都要到端进行,效率非常低。注意,这与现在的互联网是完全不同的,目前的互联网,信息的路由和交换是在网络中进行的,而不是在端,而且互联网从网络层次的角度而言,它不是一个对等网络,而是一个层次化的网络。其中心网络的交换能力远远强于汇聚和边缘的。除此以外,CDN(内容分发网络)在互联网的加速中起到了非常巨大的作用。
自然而然地,我们可以想到,是否区块链也可以像互联网一样地加速呢?答案当然是可以的。已经有一些解决方案出台。比较著名的是 BloXroute的BDN(区块链分发网络),和Marlin Protocol。
Layer 1 改进 - 共识机制的探索
共识机制是区块链的基础。在一个无需信任的网络交换信息,获取真相,形成共识是区块链解决的最大问题之一,也是最大的困难之一。但作为一个无需许可、随意进出的分布式系统,区块链不可避免地要面对和克服这个困难。
比特币的解决方案是每10分钟组织一次比赛来解决一个计算难题,获胜者来解决上一个区块以来交易的发生顺序并忠实记录,然后其他节点进行验证从而达成共识。但是,这种成功的“中本聪式工作证明”耗费大量的资源,这些资源的消耗仅仅为争夺出块权,而无任何其他用处,同时速度很慢。这是比特币广受诟病的原因。
勿容置疑,我们需要更好的共识机制。它将允许区块链网络的参与者更有效地达成协议,从而使整个系统每秒可以处理更多事件。对此,以太坊以及Filecoin进行了众多创新以解决这一问题。简单来说,这就是权益证明(POS)。以太坊的思路是Casper协议,此协议使用经济激励措施和抑制措施来使节点保护网络安全,并使作弊(非常)昂贵。而Filecoin则采用存储证明和预期共识来实现这一目标。通过这一目标的实现,大量的计算可以被真正地利用来为应用服务。在Filecoin网络中,由于采用了IPFS的内容寻址的方式,其交易信息本身并不需要全部包含在区块内部,因此,理论上,较小的区块头就可以包含大量的交易,也就是说可以承担更高的TPS。Filecoin还解决了数据的存储问题,它并不需要所有的全节点都存储所有的数据,这对区块链应用带来了突破。
共识要解决的一个基本问题就是确保所有交易的正确执行,这在比特币的网络中所有节点都需要对所有交易进行验证,这种验证包括出块权、区块和交易的验证等。借助非对称密码系统,这些验证速度非常快。
但是,如果把区块链用于计算,就如以太坊这样把整个网络作为一台世界计算机,其每一个智能合约的执行和验证过程是一样的。也就是说,应用的执行过程需要在每一个节点上执行。这就带来了计算的瓶颈。无法通过扩展网络来扩大其网络计算能力。
缓解此问题的一种方法是分片,这是一种解决方案,其中只有部分网络执行代码并返回结果,其余部分网络可以验证。这是以太坊 2.0 正在着手实施的方案。如果以太坊2.0支持64个分片,理论上最大可以提升处理能力64倍。然而,这仍然不能解决计算的可扩展性的问题,应用的执行仍然在做大量的重复工作。
零知识证明技术的突破为计算的可扩展性带来了曙光。Zcach背后的团队在2019年推进了一个ZEXE的项目,它可以通过提交代码执行结果以及该结果正确的证明来简化计算。这类似于公私钥体系。这样应用的计算可以由少数节点进行,或者仅仅由拥有出块权的节点进行,而结果的正确性证明由其他节点验证即可,无需重复计算。如此一来,网络就可以采用不同节点为不同的应用服务的方式来大大地提高计算效率。
分布式系统中的共识并不完全是一个新的研究领域,但是随着区块链的流行,人们对共识研究产生了新的兴趣。近年,有很多新的共识被提出来,比如:Tendermint,Ouroboros,Algorand,Expected Consensus等等。同时,也有提供另一种有关共识的有趣方法:共识敏捷性。例如,Hyperledger Sawtooth可以根据需要更改共识,“将所有区块链配置放在链本身上”。这样就可以使用给定的共识机制启动网络,并在网络及其用户发生更改(例如从小型部署到大型联合体)时切换到另一个更适应的网络。
这说明共识本身可能将不会成为一个区块链的不变的固有属性。如果共识可配置,那么区块链本身就可以模块化,共识成为其中一个模块。再进一步,由于模块化的实现,链与链之间的交互将变得更加简单,他们可以交、结合。整个链的生态将实现层次化。但是随着时间的推移,人们将看到不同的区块链层次和服务,包括网络,共识,应用甚至信息存储等等。
Layer 2 的改进 - 区块链2.5
Layer 1 被定义为区块链本身的解决方案中,与其共识机制关系紧密。而Layer 2 则是在原有共识和定义基础之上的解决方案。
这些方案不影响原网络,但可以扩展原有网络。例如,比特币的闪电网络,以太坊的Raiden。它们实际上是一个原网络的基础上建立的一个辅助网络,旨在实现更高的吞吐量,从而加快整个网络的速度。它们通过一些节点链接到主区块链,但是对于辅助网络本身而言,仍然保持区块链的特征:分布式,无许可和最小化信任。
Layer 2 的解决方案本质上是为加密货币构建的,其创建了锚定到基础加密货币的区块链支付通道,最终在两方之间交换的金额得以结算。这样,可以将大量的事物性处理从主链上脱手至辅助链进行处理。而就是把应用的处理移到Layer 2,而Layer 2 本身可以有多条链来服务,从而加速了整个系统。
区块链提速 - 前途光明、任重道远
互联网经过30年的发展而侵入我们生活的方方面面。就如互联网的发展一样,区块链的发展非常迅速,但也面临各种技术和解决方案方面的难题。网络的铺就不是一日之功,技术的发展也需要逐步积累。
我们欣喜地看到,在过去几年间区块链技术取得了突飞猛进的发展。从Layer 0,Layer 1 到 Layer 2,都有不同突破和实践。可信硬件(包括芯片)的开发已经取得不小的成绩;共识机制的研究在逐步取得突破;侧链和跨链技术正日益红火。
但同时,我们也看到,去中心化系统与中心化系统在性能上的巨大差距。随着技术的突破,这方面的差距会逐步缩小。随着时间的推移,区块链的信任机制带来的巨大威力将慢慢从一些信任成本高企的应用入手,通过区块链+的方式逐步进入我们的生活。这一天的到来是不知不觉的,就像有一天,你突然感到,没有Wi-Fi就不知所措。在不久的将来,你日夜依靠的网络,其中一个重要的支柱,就是区块链。
Why and How zk-SNARK Works: Defifinitive Explanation, Maksym Petus, Jun 2019
SoK: Layer-Two Blockchain Protocols, Lewis Gudgeon1 , Pedro Moreno-Sanchez2 , Stefanie Roos3 , Patrick McCorry4, and Arthur Gervais, Jan 2020
The current state of blockchain and where it's going, Axel Simon, Dec 2019
ZEXE:Enableing Decentralized Private Computation, Sean Bowe, Alessandro Chiesa, Matthew Green, Ian Miers, Pratyush Mishra, Howard Wu, Feb 2019
Layer 1 vs Layer 2 : What you need to know about different Blockchain Layer solutions,Petro Wallance, Mar. 2020